The present invention relates to the field of mass storage devices. More particularly, this invention relates to an apparatus and method for recovering data from a disc drive.
One key component of any computer system is a device to store data. Computer systems have many different places where data can be stored. One common place for storing massive amounts of data in a computer system is on a disc drive. The most basic parts of a disc drive are an information storage disc that is rotated, an actuator that moves a transducer to various locations over the disc, and electrical circuitry that is used to write and read data to and from the disc. The disc drive also includes circuitry for encoding data so that it can be successfully retrieved and written to the disc surface. A microprocessor controls most of the operations of the disc drive as well as passing the data back to the requesting computer and taking data from a requesting computer for storing to the disc.
The transducer is typically placed on a small ceramic block, also referred to as a slider, that is aerodynamically designed so that it flies over the disc. The slider is passed over the disc in a transducing relationship with the disc. Most sliders have an air-bearing surface (xe2x80x9cABSxe2x80x9d) which includes rails and a cavity between the rails. When the disc rotates, air is dragged between the rails and the disc surface causing pressure, which forces the head away from the disc. At the same time, the air rushing past the cavity or depression in the air bearing surface produces a negative pressure area. The negative pressure or suction counteracts the pressure produced at the rails. The slider is also attached to a load spring which produces a force on the slider directed toward the disc surface. The various forces equilibrate so the slider flies over the surface of the disc at a particular desired fly height. The fly height is the distance between the disc surface and the transducing head, which is typically the thickness of the air lubrication film. This film eliminates the friction and resulting wear that would occur if the transducing head and disc were in mechanical contact during disc rotation. In some disc drives, the slider passes through a layer of lubricant rather than flying over the surface of the disc.
Information representative of data is stored on the surface of the storage disc. Disc drive systems read and write information stored on tracks on storage discs. Transducers, in the form of read/write heads attached to the sliders, located on both sides of the storage disc, read and write information on the storage discs when the transducers are accurately positioned over one of the designated tracks on the surface of the storage disc. The transducer is also said to be moved to a target track. As the storage disc spins and the read/write head is accurately positioned above a target track, the read/write head can store data onto a track by writing information representative of data onto the storage disc. Similarly, reading data on a storage disc is accomplished by positioning the read/write head above a target track and reading the stored material on the storage disc. To write on or read from different tracks, the read/write head is moved radially across the tracks to a selected target track.
The methods for positioning the transducers can generally be grouped into two categories. Disc drives with linear actuators move the transducer linearly generally along a radial line to position the transducers over the various tracks on the information storage disc. Disc drives also have rotary actuators which are mounted to the base of the disc drive for arcuate movement of the transducers across the tracks of the information storage disc. Rotary actuators position transducers by rotationally moving them to a specified location on an information recording disc.
Typically, the heads are supported over the discs by slider assemblies which include air-bearing surfaces designed to interact with a thin layer of moving air generated by the rotation of the discs, so that the heads are said to xe2x80x9cflyxe2x80x9d over the disc surfaces. Generally, the heads write data to a selected data track on the disc surface by selectively magnetizing portions of the data track through the application of a time-varying write current to the head. In order to subsequently read back the data stored on the data track, the head detects flux transitions in the magnetic fields of the data track and converts these to a signal which is decoded by a read channel circuit of the disc drive. For a detailed discussion of disc drive reading and writing techniques, see U.S. Pat. No. 5,276,662 entitled DISC DRIVE WITH IMPROVED DATA TRANSFER APPARATUS, issued Jan. 4, 1994 to Shaver et al., assigned to the assignee of the present invention.
As will be recognized, a user file to be written to the disc is typically encoded with both run-length limited encoding, to ensure proper generation of a read clock when the data is retrieved from the disc and with error correction code (ECC) encoding, to detect the presence of errors in the data as it is subsequently retrieved from the disc. Even with the use of such encoding, it will be recognized that both write errors and read errors occasionally occur as large amounts of data are written to and read from the disc.
Write errors generally occur as a result of header errors, which occur when the incorrect header (sector) information is provided to the write controller, indicating the head is not over the target sector to which the data is to be written. Additionally, write errors can occur as a result of an off-track condition (i.e., the head is not correctly positioned over the selected data track) and as a result of an unsafe error condition, such as a voltage fault. When a write error occurs, the disc drive typically retries writing the data and, if the write error persists, may perform other corrective operations, such as moving the head to a track not normally used for the storage of user data and writing data at this track before returning the head to the selected track for another attempt.
Read errors, on the other hand, are typically detected as result of the operation of the ECC circuitry; particularly, modem disc drives are typically provided with the capability of xe2x80x9con-the-flyxe2x80x9d correction of up to a selected number of errors in the retrieved data (as a result of the ECC encoding) and the detection of more than the selected number of errors in the retrieved data. Like write errors, when uncorrectable read errors are detected, the disc drive may reread the data and, if the read error persists, the disc drive may attempt other corrective operations, such as seeking away, which comprises moving the head away from, and then back to, the selected track and rereading the data, or modifying the channel parameters used by the read channel and rereading the data. For a discussion of ECC techniques, see U.S. Pat. No. 5,627,843 entitled CORRECTING UP TO TWO DISC DRIVE READ ERRORS AND DETECTING THE OCCURRENCE OF MORE THAN TWO READ ERRORS, issued May 6, 1997 to Deng et al., assigned to the assignee of the present invention.
It will be recognized that disc drives are commonly provided with a defined error recovery procedure in the event of the receipt of write and read errors, so that a predefined sequence of corrective operations is employed upon occurrence of such errors. A typical data recovery procedure includes rereads, head shifts and at least one error correcting code (ECC). Each specific hard disc drive normally has one specified list defining a data recovery procedure (DRP) that is considered best for the disc drive. However, such corrective operations require time to complete, undesirably slowing down the operation of the disc drive in the writing or reading of user files. Additionally, depending upon the cause of the errors, certain corrective operations or DRPs are more effective than others in resolving the occurrence of the errors and allowing the operation of the disc drive to resume.
The use of corrective procedures or DRPs has progressed from merely proceeding serially down a list of corrective actions or data recovery procedures. In U.S. Pat. No. 5,379,162 issued to Cunningham et al, when a readback error is detected in a readback data signal, a plurality of predetermined transducer head and disc parameters are identified. One of the stored plurality of data recover procedures is selected in response to the detected readback error and the identified plurality of predetermined transducer head and disc parameters. This patent is directed toward a dedicated servo disc drive. The input parameters are static parameters that are not associated with random events. The static input parameters do not appear to change over time. In fact, the input parameters are predetermined. The parameters include the head width, the amount of track misregistration associated with the distance the head is positioned away from the dedicated servo surface, and the radial location on the disc. Depending on these static inputs, different corrective procedures are used. In U.S. Pat. No. 5,812,752 issued to Yamada, the length of time for executing selected corrective procedures or data recovery procedures is measured and the data recovery procedure used is selected based on the remaining execution time for performing the data recovery operation. In U.S. Pat. No. 5,721,816 issued to Kusbel et al., the table of different data recovery procedures is reordered based on data gathered when the data recovery procedure works.
Even with the improvements in the data recovery procedures discussed above, typically many different combinations of individual corrective actions are tried before an error is recovered. Each individual corrective action takes one revolution to complete. Data recovery can take several seconds if the error recovery function in the disc drive has to sequence through many of these combinations before finding the proper individual corrective action or combination of corrective actions that successfully recovers a block of data. For example, if the retry or corrective action happens to be 120th on the list of corrective actions associated with the data recovery procedure (DRP), then 121 retries or corrective actions must be taken before successfully recovering the data. If the disc is spinning at 7200 revolutions per minute (RPM), currently a fairly common rotational spin speed, the 120 retries would require 120 revolutions of the disc. The amount of time required for the 120 revolutions would be 1 second. This is an eternity in an industry which boasts data access times of 6 milliseconds. Furthermore, if there are 450 sectors per /revolution and each sector contains 512 bytes of data, during the one second delay potentially 27,648,000 bytes of data which could have been read were passed up due to the read re-tries.
In disc drives, there can be many different events that can trigger an error that would need to be corrected using a data recovery procedure. There can be many different failure mechanisms. Since each data recovery procedure has a different probability of success for a given failure mechanism, one given DRP or recovery list is not optimum for specific cases.
Thus, there is a need for a data recovery procedure which eliminates individual data recovery procedures that have a low probability of resulting in correction. In addition, there is a need for an improved approach to the correction of read and write errors encountered by a disc drive which reduces the time required to recover from such errors. There is also a need for a data recovery technique that adapts to the various conditions causing the read and write errors.
A disc drive includes a base and a disc rotatably attached to the base. The disc drive also includes an actuator assembly rotatably attached to said base and a device for moving the actuator assembly. The disc drive also includes at least one sensor for sensing disturbances to the disc drive. The disc drive has a system microprocessor in electrical communication with the sensor. In the event a read error is detected, a plurality of sets of corrective procedures are stored in the random access memory of the microprocessor. The system microprocessor executes the sets of corrective procedures in an order in response to the sensed disturbances input to the system microprocessor. The sensor can be a log of data gathered over time, a query to at least one of the plurality of components of the disc drive, a temperature sensor within the disc drive, or a vibration sensor within the disc drive. The sensor of the disc drive may also include a table of data stored within the random access memory of the disc drive.
The disc drive employs a method of recovering data from a magnetic storage device. The magnetic storage device includes a plurality of components including a disc for storing data. The disc has at least one track in which includes a plurality of sectors for storing data. The storage device also has a transducer for reading and writing data to the surface of the disc. The method for recovering data includes sensing various disturbances to the disc drive, and detecting a read error in the data of at least one sector of said plurality of sectors. A read error recovery procedure is implemented based on sensing a disturbance to the disc drive. The read error recovery procedure which is implemented is associated with the sensed disturbance.
Implementing the corrective procedures or a read error recovery procedure includes selecting a grouping of corrective actions from a plurality of groups of corrective actions associated with a particular sensor. Each group of corrective actions is associated with a particular sensed disturbance.
Advantageously, the present invention provides a method and apparatus for optimizing the read/write channel error recovery process in a disc drive. The data recovery procedure eliminates individual data recovery procedures that have a low probability of resulting in correction. In addition, the corrective procedure reduces the time required to recover from read errors. Another advantage includes an error recovery procedure which adapts to the various conditions causing the read and write errors.